rusoto_mock 0.47.0

AWS SDK for Rust - Request Mocking Helpers
Documentation
Mock request dispatcher and credentials for unit testing rusoto AWS service clients All rusoto generated service clients come with a constuctor function named `new_with` which accepts three arguments * A `rusoto_core::DispatchSignedRequest` implementation * A `rusoto_core::credential::ProvideAwsCredentials` implementation * A `rusoto_core::Region` This crate provides mock implementations to satisfy the first two. # Example The following is an example for the `rusoto_s3` crate but should work for all service crates just the same. The code is commented out for illustration but also to avoid a cyclic dependency in this crate. ```rust extern crate rusoto_mock; // extern crate rusoto_s3; use rusoto_mock::{MockCredentialsProvider, MockRequestDispatcher, MockResponseReader}; fn main() { // let s3 = rusoto_s3::S3Client::new_with( // MockRequestDispatcher::default().with_body( // MockResponseReader::read_response("test-data", "s3-response.json") // ), // MockCredentialsProvider, // Default::default() // ); } ``` # Note regarding XML-based AWS Services Some AWS services such as SQS and STS return responses in XML format rather than JSON. In these cases, parsing may fail with `ParseError("Expected StartElement got None")`. Valid XML examples can be found in the API documentation for an API call such as [this one for STS AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html#API_AssumeRole_Example_1_Response). These can be used to create a `MockRequestDispatcher` like so: ```rust MockRequestDispatcher::default().with_body(r#" ... etc "#) ```